// comparison_main.cpp - 对比传统头文件和模块概念
#include "traditional_example.h"
#include <iostream>

int main() {
    std::cout << "=== 传统 C++ 头文件示例 ===" << std::endl;
    
    // 使用传统的函数
    traditional_greet("C++开发者");
    
    // 使用传统的类
    TraditionalCounter counter;
    counter.print_count();
    
    counter.increment();
    counter.increment();
    counter.increment();
    counter.print_count();
    
    counter.decrement();
    counter.print_count();
    
    // 使用传统的常量
    std::cout << "传统魔法数字: " << TRADITIONAL_MAGIC_NUMBER << std::endl;
    
    std::cout << "\n=== C++20 模块的优势 ===" << std::endl;
    std::cout << "1. 更快的编译速度 - 模块只编译一次" << std::endl;
    std::cout << "2. 更好的封装性 - 可以隐藏实现细节" << std::endl;
    std::cout << "3. 避免宏污染 - 不会引入不需要的宏" << std::endl;
    std::cout << "4. 清晰的依赖关系 - 明确的导入/导出" << std::endl;
    std::cout << "5. 减少符号冲突 - 模块有自己的命名空间" << std::endl;
    
    return 0;
}
